x86/vmx: Don't use hvm_inject_hw_exception() in long_mode_do_msr_write()
authorAndrew Cooper <andrew.cooper3@citrix.com>
Wed, 6 Dec 2017 17:46:20 +0000 (17:46 +0000)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Thu, 14 Dec 2017 18:05:45 +0000 (18:05 +0000)
commit896ee3980e72866b602e743396751384de301fb0
treee4cfc7c9370b8f872a10191172e4dc608eded228
parentd630832f9f9c2ef80b04a2c7d7f08581a18df2b3
x86/vmx: Don't use hvm_inject_hw_exception() in long_mode_do_msr_write()

Since c/s 49de10f3c1718 "x86/hvm: Don't raise #GP behind the emulators back
for MSR accesses", returning X86EMUL_EXCEPTION has pushed the exception
generation to the top of the call tree.

Using hvm_inject_hw_exception() and returning X86EMUL_EXCEPTION causes a
double #GP injection, which combines to #DF.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Kevin Tian <kevin.tian@intel.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/hvm/vmx/vmx.c